package com.iflytek.iot.redis.sharding.core;


import com.iflytek.iot.redis.sharding.core.entity.SlotConfig;

import java.util.List;
import java.util.Set;

/**
 * @author ZuRun
 * @date 2020/2/28 16:18:10
 */
public interface IRedisShardingManager<T> {

    Set<String> getGroupList();

    SlotConfig getSlotConfigByKey(String groupName, String key);

    SlotConfig getSlotConfigBySlot(String groupName, String slot);

    List<SlotConfig> getSlotsConfig(String groupName);

    void register(T resource, SlotConfig slotConfig);

    void register(IRedisGroup redisGroup, T resource, SlotConfig slotConfig);


}
